System Testing and Program Verification

نویسندگان

  • Stephan Arlt
  • Sergio Feo Arenis
  • Andreas Podelski
  • Martin Wehrle
چکیده

The effectiveness of black-box system testing can be increased by automatic program verification techniques. For example, the redundancy of a test case can be detected by static analysis; the analysis must be applied to a program in the ‘whitebox’ layer of the system under test (e.g., in the setting of GUI testing, to the program which defines the event handlers). We will investigate the question of how automatic program verification techniques can be used to reduce the cost of testing and at the same time provide a guarantee for test coverage. Overview. Testing and verification are two sides of the same coin. The corresponding techniques can complement each other. In particular, automatic program verification techniques can be used in system testing for a more informed selection of test cases. We have instantiated the idea for GUI testing, where a system is tested through a sequence of events which are triggered via a graphical user interface (GUI). As described in [APW14, AEFAP14, ABSP12, APB12], we apply a static analysis to the event handler programs of the system. The static analysis infers verifiable statements about the runtime behavior of the programs and thus helps to determine the relevance resp. the redundancy of a test case (where relevance and redundancy have a precise, formal sense). We will next explain the context and the approach in greater detail. The main challenge in GUI testing is to generate test cases selectively. So-called iterative approaches as in Gross et al. [GFZ12] and Mariani et al. [MPRS12] generate test cases on-the-fly (i.e., while executing the system under test). Here, the size of the test suite is a priori unbounded (in practice, timeouts are used for the overall test). In contrast, non-iterative approaches generate test cases offline (before executing the system under test). Here, the size of the test suite can be bounded a priori (e.g., by fixing the length of event sequences). However, many event sequences in the test suite will not be relevant for detecting bugs (e.g., because the events in the sequence do not relate to each other), and many event sequences will not be feasible (e.g., because the button to trigger an event in the sequence is not visible). So-called black-box techniques avoid many infeasible test cases by using a black-box model such as an Event Flow Graph (EFG); the model is constructed by observing the order of events in sample executions of the system [Mem07]. The above-mentioned approach of [APW14, AEFAP14, ABSP12, APB12] integrates automatic verification techniques with black-box techniques. In a first step, a static analysis on the event handler programs is used to compute sequences of events that are interconnected by def-use relationships. The second step uses the black-box model to turn each sequence into one that is feasible according to the black-box model. The approach thus integrates the information of what is relevant with the information of what is feasible. The original approach in [APB12] only considers sequences that contain a pair of two matching def-use events. Even with that restriction, the number of event sequences can

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Developing a Verification and Training Phantom for Gynecological Brachytherapy System

Introduction Dosimetric accuracy is a major issue in the quality assurance (QA) program for treatment planning systems (TPS). An important contribution to this process has been a proper dosimetry method to guarantee the accuracy of delivered dose to the tumor. In brachytherapy (BT) of gynecological (Gyn) cancer it is usual to insert a combination of tandem and ovoid applicators with a complicat...

متن کامل

A Metric for Testing Program Verification Systems

The correctness of program verification systems is of great importance, and it needs to be checked and demonstrated to users and certification agencies. One of the contributing factors to the correctness of the whole verification system is the correctness of the background axiomatization, respectively the correctness of calculus rules. In this paper, we examine how testing verification systems ...

متن کامل

Parentage Verification of Iranian Caspian Horse Using Microsatellites Markers

The present study was to construct a parentage verification system for Iranian Caspian horse. A total number of 45 Caspian horse samples including 14 foals for parentage verification, 17 stallion and 14 mare for individual identification were genotyped. Genomic DNA was extracted from whole blood and the genotype were analysed by PCR procedure and using 7 microsatellite markers (AHT04, HMS03, HM...

متن کامل

Integrating Software Testing and Run-Time Checking in an Assertion Verification Framework

We present a framework that unifies unit testing and runtime verification (as well as static verification and static debugging). A key contribution of our overall approach is that we preserve the use of a unified assertion language for all of these tasks. We first describe a method for compiling run-time checks for (parts of) assertions which cannot be verified at compile-time via program trans...

متن کامل

Property Directed Generation of First-Order Test Data

Random testing is a powerful method for verifying program properties. However, as the complexity of the program and properties increases, writing customized input data generators quickly becomes necessary. We present a method for systematic generation of input data by lazy instantiation using meta variables and parallel partial evaluation of properties. This is applied on specification based pr...

متن کامل

Just test what you cannot verify ! 1

Software verification is an established method to ensure software safety. Nevertheless, verification still often fails, either because it consumes too much resources, e.g., time or memory, or the technique is not mature enough to verify the property. Often then discarding the partial verification, the validation process proceeds with techniques like testing. To enable standard testing to profit...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015